pub fn show_variable() {
    // 不可变的变量
    let a = "aaa";
    println!("The value of a is: {}", a);
    // 可变的变量
    let mut b = "bbbb";
    println!("The value of b is: {}", b);
    b = "ccc";
    println!("The value of b changed: {}", b);
    // 变量覆写
    let c = "32";
    // 与可变变量相比，可以改变类型
    let c: u32 = c.trim().parse().expect("Please type an integer!"); // 类型转换
    println!("The value of c is: {}", c);
    // 元组
    let x: (i32, f64, u8) = (500, 6.4, 1); // 允许不同类型组合，但是必须指定长度
    // 解构
    let (five_hundred, six_point_four, one) = x;
    // 直取
    println!("The value of x1 is: {} and {}", x.0, five_hundred);
    println!("The value of x2 is: {} and {}", x.1, six_point_four);
    println!("The value of x3 is: {} and {}", x.2, one);
    // 数组
    let array_a: [i32; 5] = [1, 2, 3, 4, 5]; // 制定长度且类型必须相同
    let array_b = [0; 5];
    println!("The first value of array_a is: {}", array_a[0]);
    println!("The second value of array_b is: {}", array_b[1]);
    // 倒置
    array_a.iter().rev().for_each(|x| println!("{}", x));
}
